The Ziggurat Method for Generating Random Variables
نویسندگان
چکیده
We provide a new version of our ziggurat method for generating a random variable from a given decreasing density. It is faster and simpler than the original, and will produce, for example, normal or exponential variates at the rate of 15 million per second with a C version on a 400MHz PC. It uses two tables, integers ki and reals wi. Some 99% of the time, the required x is produced by: Generate a random 32-bit integer j and let i be the index formed from the rightmost 8 bits of j. If j < ki return x = j wi. We illustrate with C code that provides for inline generation of both normal and exponential variables, with a short procedure for setting up the necessary tables.
منابع مشابه
A Comment on the Implementation of the Ziggurat Method
We show that the short period of the uniform random number generator in the published implementation of Marsaglia and Tsang’s Ziggurat method for generating random deviates can lead to poor distributions. Changing the uniform random number generator used in its implementation fixes this issue.
متن کاملA modified ziggurat algorithm for generating exponentially- and normally-distributed pseudorandom numbers
The Ziggurat Algorithm is a very fast rejection sampling method for generating PseudoRandom Numbers (PRNs) from statistical distributions. In the algorithm, rectangular sampling domains are layered on top of each other (resembling a ziggurat) to encapsulate the desired probability density function. Random values within these layers are sampled and then returned if they lie beneath the graph of ...
متن کاملDesign Flaws in the Implementation of the Ziggurat and Monty Python methods (and some remarks on Matlab randn)
Ziggurat and Monty Python are two fast and elegant methods proposed by Marsaglia and Tsang to transform uniform random variables to random variables with normal, exponential and other common probability distributions. While the proposed methods are theoretically correct, we show that there are various design flaws in the uniform pseudo random number generators (PRNG’s) of their published implem...
متن کاملZiggurat Revisited
Random numbers following a Standard Normal distribution are of great importance when using simulations as a means for investigation. The Ziggurat method (Marsaglia and Tsang, 2000; Leong, Zhang, Lee, Luk, and Villasenor, 2005) is one of the fastest methods to generate normally distributed random numbers while also providing excellent statistical properties. This note provides an updated impleme...
متن کاملOptimal Choice of Random Variables in D-ITG Traffic Generating Tool using Evolutionary Algorithms
Impressive development of computer networks has been required precise evaluation of efficiency of these networks for users and especially internet service providers. Considering the extent of these networks, there has been numerous factors affecting their performance and thoroughly investigation of these networks needs evaluation of the effective parameters by using suitable tools. There are se...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000